﻿// Decompiled with JetBrains decompiler
// Type: STT.InterGraph
// Assembly: SymbolTypeViewer, Version=1.0.0.6, Culture=neutral, PublicKeyToken=null
// MVID: 5FAA967F-23AD-4C8B-A7DB-67BC80ACEEA3
// Assembly location: E:\VStart\安全工具\SymbolTypeViewer_v1.0_beta\SymbolTypeViewer_1_0_0_6\SymbolTypeViewer.exe

using NativeWin32;
using STT.Debug;
using STT.Parser;
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Windows.Forms;

namespace STT
{
    public class InterGraph : Form
    {
        private IContainer components;
        private TabControl tabControl_SymbolsViewer;
        private TabPage tabPage_Viewer;
        private TabPage tabPage_Translator;
        private SplitContainer splitContainer1_SymbolsViewer;
        private TextBox textBox_Module_View;
        private Button button_SymbolPath_View;
        private TextBox textBox_SymbolPath_View;
        private TextBox textBox_Path_Translate;
        private Button button_Directory_Translate;
        private Button button_File_View;
        private Button button_Path_Translate;
        private TextBox textBox_Server_View;
        private OpenFileDialog openFileDialog;
        private FolderBrowserDialog folderBrowserDialog;
        private Button button_Server_View;
        private ContextMenuStrip contextMenuStrip_Server;
        private ToolStripMenuItem microsoftServerToolStripMenuItem;
        private Button button_Get_Symbols;
        private Button button_Stop_Translate;
        private Button button_Pause_Translate;
        private TabControl tabControl_Info_Fomat;
        private TabPage tabPage_Info;
        private TabPage tabPage_Format_View;
        private Button button_Go_Translate;
        private Button button_SymbolPath_Translate;
        private TextBox textBox_Directory_Translate;
        private TextBox textBox_Server_Translate;
        private TextBox textBox_SymbolPath_Translate;
        private Button button_Server_Translate;
        private RadioButton radioButton_View_IDA;
        private RadioButton radioButton_View_C;
        private GroupBox groupBox_Viewer_Syntax_Check;
        private GroupBox groupBox_Translator_Syntax_Check;
        private Panel panel_format_view;
        private TextBox textBox_Consol;
        private CheckBox checkBox_Translate_IDA;
        private CheckBox checkBox_Translate_C;
        private MenuStrip menuStrip1;
        private ToolStripMenuItem variableToolStripMenuItem;
        private ToolStripMenuItem ntSYMBOLPATHToolStripMenuItem;
        private ToolStripMenuItem useToolStripMenuItem;
        private ToolStripMenuItem defineToolStripMenuItem;
        private ToolStripMenuItem takeDefaultMicrosoftServerToolStripMenuItem;

        //private ToolStripStatusLabel toolStripStatusLabel1;
        // private ToolStripProgressBar toolStripProgressBar1;
        private StatusStrip statusStrip;

        private ToolStripMenuItem helpToolStripMenuItem;
        private ToolStripMenuItem aboutToolStripMenuItem;
        private ProgressBar progressBar_Translator;
        private CheckBox checkBox_Download_Symbols_Only;
        private Button button_File_Translate;
        private CheckBox checkBox_fixed_pointer_size;
        private CheckBox checkBox_translate_fixed_pointer_size;
        private Panel panel_treeview;
        private Panel panel_nav_buttons;
        private Button button_nav_after;
        private Button button_nav_before;
        private Label label_format_view_suffix;
        private TextBox textBox_format_view_suffix;
        private TextBox textBox_translate_suffix;
        private ToolStripMenuItem findToolStripMenuItem;
        private GroupBox groupBox_Translator_Options;
        private Label label_translator_suffix;
        private Panel panel1;
        private GroupBox groupBox1;
        private ToolStripSeparator toolStripSeparator1;
        private ToolStripMenuItem exitToolStripMenuItem;
        private TextBox textBox_Files_To_Be_Found_Translate;
        private GroupBox groupBox2;
        private ToolStripStatusLabel toolStripStatusLabel2;
        public ArbreModules tree_modules;
        public BarreInfo barre_info;
        public TableInfo table_info;
        public StructFormatView struct_format_view;
        public static InterGraph.StateTranslatorAction translator_action_state;
        public static object critical_object;
        public static EventWaitHandle event_object;
        public static Thread thread_pause;
        public static Thread thread_translation;
        public static Thread thread_load_symbol_viewer;
        private ToolStripProgressBar toolStripProgressBar1;
        public DialogBoxFind dialog_box_find;

        private static void Thread_OpenModule(object obj)
        {
            ModuleSymbols moduleSymbols = (ModuleSymbols)null;
            if (obj is string)
                moduleSymbols = new ModuleSymbols((string)obj, true);
            else if (obj is FileInfo)
                moduleSymbols = new ModuleSymbols((FileInfo)obj, true);
            if (moduleSymbols != null && moduleSymbols.IsInitOk)
            {
                Interaction.Print("加载树形结构.   请稍候...");
                Interaction.StartWait();
                Interaction.AddModule((TreeNode)moduleSymbols);
                Interaction.StopWait();
                Interaction.ResetPrint();
            }
            InterGraph.thread_load_symbol_viewer = (Thread)null;
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing && this.components != null)
                this.components.Dispose();
            base.Dispose(disposing);
        }

        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.tabControl_SymbolsViewer = new System.Windows.Forms.TabControl();
            this.tabPage_Viewer = new System.Windows.Forms.TabPage();
            this.textBox_Module_View = new System.Windows.Forms.TextBox();
            this.splitContainer1_SymbolsViewer = new System.Windows.Forms.SplitContainer();
            this.panel_treeview = new System.Windows.Forms.Panel();
            this.panel_nav_buttons = new System.Windows.Forms.Panel();
            this.button_nav_after = new System.Windows.Forms.Button();
            this.button_nav_before = new System.Windows.Forms.Button();
            this.button_Get_Symbols = new System.Windows.Forms.Button();
            this.tabControl_Info_Fomat = new System.Windows.Forms.TabControl();
            this.tabPage_Info = new System.Windows.Forms.TabPage();
            this.tabPage_Format_View = new System.Windows.Forms.TabPage();
            this.panel1 = new System.Windows.Forms.Panel();
            this.groupBox1 = new System.Windows.Forms.GroupBox();
            this.checkBox_fixed_pointer_size = new System.Windows.Forms.CheckBox();
            this.textBox_format_view_suffix = new System.Windows.Forms.TextBox();
            this.label_format_view_suffix = new System.Windows.Forms.Label();
            this.groupBox_Viewer_Syntax_Check = new System.Windows.Forms.GroupBox();
            this.radioButton_View_IDA = new System.Windows.Forms.RadioButton();
            this.radioButton_View_C = new System.Windows.Forms.RadioButton();
            this.panel_format_view = new System.Windows.Forms.Panel();
            this.button_File_View = new System.Windows.Forms.Button();
            this.button_SymbolPath_View = new System.Windows.Forms.Button();
            this.textBox_SymbolPath_View = new System.Windows.Forms.TextBox();
            this.button_Server_View = new System.Windows.Forms.Button();
            this.contextMenuStrip_Server = new System.Windows.Forms.ContextMenuStrip(this.components);
            this.microsoftServerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.textBox_Server_View = new System.Windows.Forms.TextBox();
            this.tabPage_Translator = new System.Windows.Forms.TabPage();
            this.groupBox2 = new System.Windows.Forms.GroupBox();
            this.textBox_Files_To_Be_Found_Translate = new System.Windows.Forms.TextBox();
            this.groupBox_Translator_Options = new System.Windows.Forms.GroupBox();
            this.textBox_translate_suffix = new System.Windows.Forms.TextBox();
            this.checkBox_Download_Symbols_Only = new System.Windows.Forms.CheckBox();
            this.checkBox_translate_fixed_pointer_size = new System.Windows.Forms.CheckBox();
            this.label_translator_suffix = new System.Windows.Forms.Label();
            this.progressBar_Translator = new System.Windows.Forms.ProgressBar();
            this.textBox_Consol = new System.Windows.Forms.TextBox();
            this.button_Go_Translate = new System.Windows.Forms.Button();
            this.groupBox_Translator_Syntax_Check = new System.Windows.Forms.GroupBox();
            this.checkBox_Translate_IDA = new System.Windows.Forms.CheckBox();
            this.checkBox_Translate_C = new System.Windows.Forms.CheckBox();
            this.button_SymbolPath_Translate = new System.Windows.Forms.Button();
            this.button_Stop_Translate = new System.Windows.Forms.Button();
            this.button_Pause_Translate = new System.Windows.Forms.Button();
            this.textBox_Directory_Translate = new System.Windows.Forms.TextBox();
            this.textBox_Server_Translate = new System.Windows.Forms.TextBox();
            this.textBox_Path_Translate = new System.Windows.Forms.TextBox();
            this.textBox_SymbolPath_Translate = new System.Windows.Forms.TextBox();
            this.button_Path_Translate = new System.Windows.Forms.Button();
            this.button_Server_Translate = new System.Windows.Forms.Button();
            this.button_File_Translate = new System.Windows.Forms.Button();
            this.button_Directory_Translate = new System.Windows.Forms.Button();
            this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
            this.folderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
            this.menuStrip1 = new System.Windows.Forms.MenuStrip();
            this.variableToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.ntSYMBOLPATHToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.useToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.defineToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.takeDefaultMicrosoftServerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
            this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.findToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.statusStrip = new System.Windows.Forms.StatusStrip();
            this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel();
            this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar();
            this.tabControl_SymbolsViewer.SuspendLayout();
            this.tabPage_Viewer.SuspendLayout();
            this.splitContainer1_SymbolsViewer.Panel1.SuspendLayout();
            this.splitContainer1_SymbolsViewer.Panel2.SuspendLayout();
            this.splitContainer1_SymbolsViewer.SuspendLayout();
            this.panel_nav_buttons.SuspendLayout();
            this.tabControl_Info_Fomat.SuspendLayout();
            this.tabPage_Format_View.SuspendLayout();
            this.panel1.SuspendLayout();
            this.groupBox1.SuspendLayout();
            this.groupBox_Viewer_Syntax_Check.SuspendLayout();
            this.contextMenuStrip_Server.SuspendLayout();
            this.tabPage_Translator.SuspendLayout();
            this.groupBox2.SuspendLayout();
            this.groupBox_Translator_Options.SuspendLayout();
            this.groupBox_Translator_Syntax_Check.SuspendLayout();
            this.menuStrip1.SuspendLayout();
            this.statusStrip.SuspendLayout();
            this.SuspendLayout();
            // 
            // tabControl_SymbolsViewer
            // 
            this.tabControl_SymbolsViewer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
            | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.tabControl_SymbolsViewer.Controls.Add(this.tabPage_Viewer);
            this.tabControl_SymbolsViewer.Controls.Add(this.tabPage_Translator);
            this.tabControl_SymbolsViewer.Location = new System.Drawing.Point(5, 25);
            this.tabControl_SymbolsViewer.Name = "tabControl_SymbolsViewer";
            this.tabControl_SymbolsViewer.SelectedIndex = 0;
            this.tabControl_SymbolsViewer.Size = new System.Drawing.Size(855, 675);
            this.tabControl_SymbolsViewer.TabIndex = 0;
            // 
            // tabPage_Viewer
            // 
            this.tabPage_Viewer.Controls.Add(this.textBox_Module_View);
            this.tabPage_Viewer.Controls.Add(this.splitContainer1_SymbolsViewer);
            this.tabPage_Viewer.Controls.Add(this.button_File_View);
            this.tabPage_Viewer.Controls.Add(this.button_SymbolPath_View);
            this.tabPage_Viewer.Controls.Add(this.textBox_SymbolPath_View);
            this.tabPage_Viewer.Controls.Add(this.button_Server_View);
            this.tabPage_Viewer.Controls.Add(this.textBox_Server_View);
            this.tabPage_Viewer.Location = new System.Drawing.Point(4, 22);
            this.tabPage_Viewer.Name = "tabPage_Viewer";
            this.tabPage_Viewer.Padding = new System.Windows.Forms.Padding(3);
            this.tabPage_Viewer.Size = new System.Drawing.Size(847, 649);
            this.tabPage_Viewer.TabIndex = 0;
            this.tabPage_Viewer.Text = "查看结构";
            this.tabPage_Viewer.UseVisualStyleBackColor = true;
            // 
            // textBox_Module_View
            // 
            this.textBox_Module_View.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.textBox_Module_View.Location = new System.Drawing.Point(102, 6);
            this.textBox_Module_View.Name = "textBox_Module_View";
            this.textBox_Module_View.Size = new System.Drawing.Size(739, 21);
            this.textBox_Module_View.TabIndex = 2;
            // 
            // splitContainer1_SymbolsViewer
            // 
            this.splitContainer1_SymbolsViewer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
            | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.splitContainer1_SymbolsViewer.Location = new System.Drawing.Point(0, 80);
            this.splitContainer1_SymbolsViewer.Name = "splitContainer1_SymbolsViewer";
            // 
            // splitContainer1_SymbolsViewer.Panel1
            // 
            this.splitContainer1_SymbolsViewer.Panel1.Controls.Add(this.panel_treeview);
            this.splitContainer1_SymbolsViewer.Panel1.Controls.Add(this.panel_nav_buttons);
            this.splitContainer1_SymbolsViewer.Panel1MinSize = 165;
            // 
            // splitContainer1_SymbolsViewer.Panel2
            // 
            this.splitContainer1_SymbolsViewer.Panel2.Controls.Add(this.tabControl_Info_Fomat);
            this.splitContainer1_SymbolsViewer.Panel2MinSize = 120;
            this.splitContainer1_SymbolsViewer.Size = new System.Drawing.Size(847, 571);
            this.splitContainer1_SymbolsViewer.SplitterDistance = 285;
            this.splitContainer1_SymbolsViewer.TabIndex = 0;
            // 
            // panel_treeview
            // 
            this.panel_treeview.Dock = System.Windows.Forms.DockStyle.Fill;
            this.panel_treeview.Location = new System.Drawing.Point(0, 29);
            this.panel_treeview.Name = "panel_treeview";
            this.panel_treeview.Size = new System.Drawing.Size(285, 542);
            this.panel_treeview.TabIndex = 0;
            // 
            // panel_nav_buttons
            // 
            this.panel_nav_buttons.AutoSize = true;
            this.panel_nav_buttons.Controls.Add(this.button_nav_after);
            this.panel_nav_buttons.Controls.Add(this.button_nav_before);
            this.panel_nav_buttons.Controls.Add(this.button_Get_Symbols);
            this.panel_nav_buttons.Dock = System.Windows.Forms.DockStyle.Top;
            this.panel_nav_buttons.Location = new System.Drawing.Point(0, 0);
            this.panel_nav_buttons.MinimumSize = new System.Drawing.Size(156, 29);
            this.panel_nav_buttons.Name = "panel_nav_buttons";
            this.panel_nav_buttons.Size = new System.Drawing.Size(285, 29);
            this.panel_nav_buttons.TabIndex = 0;
            // 
            // button_nav_after
            // 
            this.button_nav_after.Enabled = false;
            this.button_nav_after.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            this.button_nav_after.Location = new System.Drawing.Point(138, 3);
            this.button_nav_after.Name = "button_nav_after";
            this.button_nav_after.Size = new System.Drawing.Size(31, 23);
            this.button_nav_after.TabIndex = 17;
            this.button_nav_after.Text = ">";
            this.button_nav_after.UseVisualStyleBackColor = true;
            this.button_nav_after.Click += new System.EventHandler(this.button_nav_Click);
            // 
            // button_nav_before
            // 
            this.button_nav_before.Enabled = false;
            this.button_nav_before.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            this.button_nav_before.Location = new System.Drawing.Point(101, 3);
            this.button_nav_before.Name = "button_nav_before";
            this.button_nav_before.Size = new System.Drawing.Size(31, 23);
            this.button_nav_before.TabIndex = 17;
            this.button_nav_before.Text = "<";
            this.button_nav_before.UseVisualStyleBackColor = true;
            this.button_nav_before.Click += new System.EventHandler(this.button_nav_Click);
            // 
            // button_Get_Symbols
            // 
            this.button_Get_Symbols.Location = new System.Drawing.Point(6, 3);
            this.button_Get_Symbols.Name = "button_Get_Symbols";
            this.button_Get_Symbols.Size = new System.Drawing.Size(87, 23);
            this.button_Get_Symbols.TabIndex = 16;
            this.button_Get_Symbols.Text = "获取所有符号";
            this.button_Get_Symbols.UseVisualStyleBackColor = true;
            this.button_Get_Symbols.Click += new System.EventHandler(this.button_Get_Symbols_Click);
            // 
            // tabControl_Info_Fomat
            // 
            this.tabControl_Info_Fomat.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
            | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.tabControl_Info_Fomat.Controls.Add(this.tabPage_Info);
            this.tabControl_Info_Fomat.Controls.Add(this.tabPage_Format_View);
            this.tabControl_Info_Fomat.Location = new System.Drawing.Point(0, 0);
            this.tabControl_Info_Fomat.Name = "tabControl_Info_Fomat";
            this.tabControl_Info_Fomat.SelectedIndex = 0;
            this.tabControl_Info_Fomat.Size = new System.Drawing.Size(562, 571);
            this.tabControl_Info_Fomat.TabIndex = 0;
            // 
            // tabPage_Info
            // 
            this.tabPage_Info.Location = new System.Drawing.Point(4, 22);
            this.tabPage_Info.Name = "tabPage_Info";
            this.tabPage_Info.Padding = new System.Windows.Forms.Padding(3);
            this.tabPage_Info.Size = new System.Drawing.Size(554, 545);
            this.tabPage_Info.TabIndex = 0;
            this.tabPage_Info.Text = "信息";
            this.tabPage_Info.UseVisualStyleBackColor = true;
            // 
            // tabPage_Format_View
            // 
            this.tabPage_Format_View.Controls.Add(this.panel1);
            this.tabPage_Format_View.Controls.Add(this.panel_format_view);
            this.tabPage_Format_View.Location = new System.Drawing.Point(4, 22);
            this.tabPage_Format_View.Name = "tabPage_Format_View";
            this.tabPage_Format_View.Padding = new System.Windows.Forms.Padding(3);
            this.tabPage_Format_View.Size = new System.Drawing.Size(462, 439);
            this.tabPage_Format_View.TabIndex = 1;
            this.tabPage_Format_View.Text = "生成代码";
            this.tabPage_Format_View.UseVisualStyleBackColor = true;
            // 
            // panel1
            // 
            this.panel1.Controls.Add(this.groupBox1);
            this.panel1.Controls.Add(this.groupBox_Viewer_Syntax_Check);
            this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
            this.panel1.Location = new System.Drawing.Point(3, 3);
            this.panel1.Name = "panel1";
            this.panel1.Size = new System.Drawing.Size(456, 66);
            this.panel1.TabIndex = 3;
            // 
            // groupBox1
            // 
            this.groupBox1.Controls.Add(this.checkBox_fixed_pointer_size);
            this.groupBox1.Controls.Add(this.textBox_format_view_suffix);
            this.groupBox1.Controls.Add(this.label_format_view_suffix);
            this.groupBox1.Location = new System.Drawing.Point(64, 0);
            this.groupBox1.Name = "groupBox1";
            this.groupBox1.Size = new System.Drawing.Size(152, 60);
            this.groupBox1.TabIndex = 4;
            this.groupBox1.TabStop = false;
            this.groupBox1.Text = "选项";
            // 
            // checkBox_fixed_pointer_size
            // 
            this.checkBox_fixed_pointer_size.AutoSize = true;
            this.checkBox_fixed_pointer_size.Location = new System.Drawing.Point(6, 18);
            this.checkBox_fixed_pointer_size.Name = "checkBox_fixed_pointer_size";
            this.checkBox_fixed_pointer_size.Size = new System.Drawing.Size(96, 16);
            this.checkBox_fixed_pointer_size.TabIndex = 1;
            this.checkBox_fixed_pointer_size.Text = "固定指针大小";
            this.checkBox_fixed_pointer_size.UseVisualStyleBackColor = true;
            this.checkBox_fixed_pointer_size.CheckedChanged += new System.EventHandler(this.checkBox_fixed_pointer_size_CheckedChanged);
            // 
            // textBox_format_view_suffix
            // 
            this.textBox_format_view_suffix.Location = new System.Drawing.Point(35, 37);
            this.textBox_format_view_suffix.Name = "textBox_format_view_suffix";
            this.textBox_format_view_suffix.Size = new System.Drawing.Size(112, 21);
            this.textBox_format_view_suffix.TabIndex = 2;
            this.textBox_format_view_suffix.TextChanged += new System.EventHandler(this.textBox_suffix_TextChanged);
            // 
            // label_format_view_suffix
            // 
            this.label_format_view_suffix.AutoSize = true;
            this.label_format_view_suffix.Location = new System.Drawing.Point(3, 41);
            this.label_format_view_suffix.Name = "label_format_view_suffix";
            this.label_format_view_suffix.Size = new System.Drawing.Size(35, 12);
            this.label_format_view_suffix.TabIndex = 3;
            this.label_format_view_suffix.Text = "后缀:";
            // 
            // groupBox_Viewer_Syntax_Check
            // 
            this.groupBox_Viewer_Syntax_Check.Controls.Add(this.radioButton_View_IDA);
            this.groupBox_Viewer_Syntax_Check.Controls.Add(this.radioButton_View_C);
            this.groupBox_Viewer_Syntax_Check.Location = new System.Drawing.Point(3, 0);
            this.groupBox_Viewer_Syntax_Check.Name = "groupBox_Viewer_Syntax_Check";
            this.groupBox_Viewer_Syntax_Check.Size = new System.Drawing.Size(55, 60);
            this.groupBox_Viewer_Syntax_Check.TabIndex = 1;
            this.groupBox_Viewer_Syntax_Check.TabStop = false;
            this.groupBox_Viewer_Syntax_Check.Text = "语法";
            // 
            // radioButton_View_IDA
            // 
            this.radioButton_View_IDA.AutoSize = true;
            this.radioButton_View_IDA.Location = new System.Drawing.Point(6, 39);
            this.radioButton_View_IDA.Name = "radioButton_View_IDA";
            this.radioButton_View_IDA.Size = new System.Drawing.Size(41, 16);
            this.radioButton_View_IDA.TabIndex = 0;
            this.radioButton_View_IDA.Text = "IDA";
            this.radioButton_View_IDA.UseVisualStyleBackColor = true;
            this.radioButton_View_IDA.CheckedChanged += new System.EventHandler(this.radioButton_View_CheckedChanged);
            // 
            // radioButton_View_C
            // 
            this.radioButton_View_C.AutoSize = true;
            this.radioButton_View_C.Checked = true;
            this.radioButton_View_C.Location = new System.Drawing.Point(6, 18);
            this.radioButton_View_C.Name = "radioButton_View_C";
            this.radioButton_View_C.Size = new System.Drawing.Size(29, 16);
            this.radioButton_View_C.TabIndex = 0;
            this.radioButton_View_C.TabStop = true;
            this.radioButton_View_C.Text = "C";
            this.radioButton_View_C.UseVisualStyleBackColor = true;
            this.radioButton_View_C.CheckedChanged += new System.EventHandler(this.radioButton_View_CheckedChanged);
            // 
            // panel_format_view
            // 
            this.panel_format_view.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
            | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.panel_format_view.Location = new System.Drawing.Point(3, 68);
            this.panel_format_view.Name = "panel_format_view";
            this.panel_format_view.Size = new System.Drawing.Size(456, 370);
            this.panel_format_view.TabIndex = 2;
            // 
            // button_File_View
            // 
            this.button_File_View.Location = new System.Drawing.Point(6, 6);
            this.button_File_View.Name = "button_File_View";
            this.button_File_View.Size = new System.Drawing.Size(90, 20);
            this.button_File_View.TabIndex = 8;
            this.button_File_View.Text = "文件";
            this.button_File_View.UseVisualStyleBackColor = true;
            this.button_File_View.Click += new System.EventHandler(this.button_File_Click);
            // 
            // button_SymbolPath_View
            // 
            this.button_SymbolPath_View.Location = new System.Drawing.Point(6, 30);
            this.button_SymbolPath_View.Name = "button_SymbolPath_View";
            this.button_SymbolPath_View.Size = new System.Drawing.Size(90, 20);
            this.button_SymbolPath_View.TabIndex = 3;
            this.button_SymbolPath_View.Text = "符号路径";
            this.button_SymbolPath_View.UseVisualStyleBackColor = true;
            this.button_SymbolPath_View.Click += new System.EventHandler(this.button_SymbolPath_Click);
            // 
            // textBox_SymbolPath_View
            // 
            this.textBox_SymbolPath_View.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.textBox_SymbolPath_View.Location = new System.Drawing.Point(102, 31);
            this.textBox_SymbolPath_View.Name = "textBox_SymbolPath_View";
            this.textBox_SymbolPath_View.Size = new System.Drawing.Size(739, 21);
            this.textBox_SymbolPath_View.TabIndex = 4;
            // 
            // button_Server_View
            // 
            this.button_Server_View.ContextMenuStrip = this.contextMenuStrip_Server;
            this.button_Server_View.Location = new System.Drawing.Point(6, 55);
            this.button_Server_View.Name = "button_Server_View";
            this.button_Server_View.Size = new System.Drawing.Size(90, 20);
            this.button_Server_View.TabIndex = 15;
            this.button_Server_View.Text = "符号服务器";
            this.button_Server_View.UseVisualStyleBackColor = true;
            this.button_Server_View.Click += new System.EventHandler(this.button_Server_Click);
            // 
            // contextMenuStrip_Server
            // 
            this.contextMenuStrip_Server.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.microsoftServerToolStripMenuItem});
            this.contextMenuStrip_Server.Name = "contextMenuStrip_Server";
            this.contextMenuStrip_Server.ShowImageMargin = false;
            this.contextMenuStrip_Server.Size = new System.Drawing.Size(149, 26);
            // 
            // microsoftServerToolStripMenuItem
            // 
            this.microsoftServerToolStripMenuItem.Name = "microsoftServerToolStripMenuItem";
            this.microsoftServerToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.microsoftServerToolStripMenuItem.Text = "Microsoft Server";
            this.microsoftServerToolStripMenuItem.Click += new System.EventHandler(this.microsoftServerToolStripMenuItem_Click);
            // 
            // textBox_Server_View
            // 
            this.textBox_Server_View.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.textBox_Server_View.Location = new System.Drawing.Point(102, 56);
            this.textBox_Server_View.Name = "textBox_Server_View";
            this.textBox_Server_View.Size = new System.Drawing.Size(739, 21);
            this.textBox_Server_View.TabIndex = 10;
            // 
            // tabPage_Translator
            // 
            this.tabPage_Translator.Controls.Add(this.groupBox2);
            this.tabPage_Translator.Controls.Add(this.groupBox_Translator_Options);
            this.tabPage_Translator.Controls.Add(this.progressBar_Translator);
            this.tabPage_Translator.Controls.Add(this.textBox_Consol);
            this.tabPage_Translator.Controls.Add(this.button_Go_Translate);
            this.tabPage_Translator.Controls.Add(this.groupBox_Translator_Syntax_Check);
            this.tabPage_Translator.Controls.Add(this.button_SymbolPath_Translate);
            this.tabPage_Translator.Controls.Add(this.button_Stop_Translate);
            this.tabPage_Translator.Controls.Add(this.button_Pause_Translate);
            this.tabPage_Translator.Controls.Add(this.textBox_Directory_Translate);
            this.tabPage_Translator.Controls.Add(this.textBox_Server_Translate);
            this.tabPage_Translator.Controls.Add(this.textBox_Path_Translate);
            this.tabPage_Translator.Controls.Add(this.textBox_SymbolPath_Translate);
            this.tabPage_Translator.Controls.Add(this.button_Path_Translate);
            this.tabPage_Translator.Controls.Add(this.button_Server_Translate);
            this.tabPage_Translator.Controls.Add(this.button_File_Translate);
            this.tabPage_Translator.Controls.Add(this.button_Directory_Translate);
            this.tabPage_Translator.Location = new System.Drawing.Point(4, 22);
            this.tabPage_Translator.Name = "tabPage_Translator";
            this.tabPage_Translator.Padding = new System.Windows.Forms.Padding(3);
            this.tabPage_Translator.Size = new System.Drawing.Size(709, 543);
            this.tabPage_Translator.TabIndex = 1;
            this.tabPage_Translator.Text = "数据生成";
            this.tabPage_Translator.UseVisualStyleBackColor = true;
            // 
            // groupBox2
            // 
            this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.groupBox2.Controls.Add(this.textBox_Files_To_Be_Found_Translate);
            this.groupBox2.Location = new System.Drawing.Point(6, 105);
            this.groupBox2.Name = "groupBox2";
            this.groupBox2.Size = new System.Drawing.Size(668, 46);
            this.groupBox2.TabIndex = 42;
            this.groupBox2.TabStop = false;
            this.groupBox2.Text = "搜索文件目录过虑器 (比如:*.exe; *.dll; *.pdb; *.sys)";
            // 
            // textBox_Files_To_Be_Found_Translate
            // 
            this.textBox_Files_To_Be_Found_Translate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.textBox_Files_To_Be_Found_Translate.Location = new System.Drawing.Point(6, 18);
            this.textBox_Files_To_Be_Found_Translate.Name = "textBox_Files_To_Be_Found_Translate";
            this.textBox_Files_To_Be_Found_Translate.Size = new System.Drawing.Size(656, 21);
            this.textBox_Files_To_Be_Found_Translate.TabIndex = 40;
            // 
            // groupBox_Translator_Options
            // 
            this.groupBox_Translator_Options.Controls.Add(this.textBox_translate_suffix);
            this.groupBox_Translator_Options.Controls.Add(this.checkBox_Download_Symbols_Only);
            this.groupBox_Translator_Options.Controls.Add(this.checkBox_translate_fixed_pointer_size);
            this.groupBox_Translator_Options.Controls.Add(this.label_translator_suffix);
            this.groupBox_Translator_Options.Location = new System.Drawing.Point(72, 157);
            this.groupBox_Translator_Options.Name = "groupBox_Translator_Options";
            this.groupBox_Translator_Options.Size = new System.Drawing.Size(156, 84);
            this.groupBox_Translator_Options.TabIndex = 39;
            this.groupBox_Translator_Options.TabStop = false;
            this.groupBox_Translator_Options.Text = "选项";
            // 
            // textBox_translate_suffix
            // 
            this.textBox_translate_suffix.Location = new System.Drawing.Point(40, 58);
            this.textBox_translate_suffix.Name = "textBox_translate_suffix";
            this.textBox_translate_suffix.Size = new System.Drawing.Size(108, 21);
            this.textBox_translate_suffix.TabIndex = 38;
            this.textBox_translate_suffix.TextChanged += new System.EventHandler(this.textBox_suffix_TextChanged);
            // 
            // checkBox_Download_Symbols_Only
            // 
            this.checkBox_Download_Symbols_Only.AutoSize = true;
            this.checkBox_Download_Symbols_Only.Location = new System.Drawing.Point(6, 18);
            this.checkBox_Download_Symbols_Only.Name = "checkBox_Download_Symbols_Only";
            this.checkBox_Download_Symbols_Only.Size = new System.Drawing.Size(96, 16);
            this.checkBox_Download_Symbols_Only.TabIndex = 36;
            this.checkBox_Download_Symbols_Only.Text = "单独下载符号";
            this.checkBox_Download_Symbols_Only.UseVisualStyleBackColor = true;
            this.checkBox_Download_Symbols_Only.CheckedChanged += new System.EventHandler(this.checkBox_Download_Symbols_Only_CheckedChanged);
            // 
            // checkBox_translate_fixed_pointer_size
            // 
            this.checkBox_translate_fixed_pointer_size.AutoSize = true;
            this.checkBox_translate_fixed_pointer_size.Location = new System.Drawing.Point(6, 37);
            this.checkBox_translate_fixed_pointer_size.Name = "checkBox_translate_fixed_pointer_size";
            this.checkBox_translate_fixed_pointer_size.Size = new System.Drawing.Size(96, 16);
            this.checkBox_translate_fixed_pointer_size.TabIndex = 37;
            this.checkBox_translate_fixed_pointer_size.Text = "固定指针大小";
            this.checkBox_translate_fixed_pointer_size.UseVisualStyleBackColor = true;
            // 
            // label_translator_suffix
            // 
            this.label_translator_suffix.AutoSize = true;
            this.label_translator_suffix.Location = new System.Drawing.Point(6, 61);
            this.label_translator_suffix.Name = "label_translator_suffix";
            this.label_translator_suffix.Size = new System.Drawing.Size(35, 12);
            this.label_translator_suffix.TabIndex = 38;
            this.label_translator_suffix.Text = "后缀:";
            // 
            // progressBar_Translator
            // 
            this.progressBar_Translator.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.progressBar_Translator.BackColor = System.Drawing.Color.Black;
            this.progressBar_Translator.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
            this.progressBar_Translator.Location = new System.Drawing.Point(234, 167);
            this.progressBar_Translator.Name = "progressBar_Translator";
            this.progressBar_Translator.Size = new System.Drawing.Size(440, 23);
            this.progressBar_Translator.Style = System.Windows.Forms.ProgressBarStyle.Continuous;
            this.progressBar_Translator.TabIndex = 31;
            // 
            // textBox_Consol
            // 
            this.textBox_Consol.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
            | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.textBox_Consol.BackColor = System.Drawing.Color.Black;
            this.textBox_Consol.Font = new System.Drawing.Font("Lucida Console", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            this.textBox_Consol.ForeColor = System.Drawing.Color.Lime;
            this.textBox_Consol.Location = new System.Drawing.Point(3, 248);
            this.textBox_Consol.Margin = new System.Windows.Forms.Padding(5);
            this.textBox_Consol.Multiline = true;
            this.textBox_Consol.Name = "textBox_Consol";
            this.textBox_Consol.ReadOnly = true;
            this.textBox_Consol.ScrollBars = System.Windows.Forms.ScrollBars.Both;
            this.textBox_Consol.Size = new System.Drawing.Size(676, 296);
            this.textBox_Consol.TabIndex = 30;
            this.textBox_Consol.WordWrap = false;
            // 
            // button_Go_Translate
            // 
            this.button_Go_Translate.Location = new System.Drawing.Point(234, 212);
            this.button_Go_Translate.Name = "button_Go_Translate";
            this.button_Go_Translate.Size = new System.Drawing.Size(68, 25);
            this.button_Go_Translate.TabIndex = 27;
            this.button_Go_Translate.Text = "生成数据";
            this.button_Go_Translate.UseVisualStyleBackColor = true;
            this.button_Go_Translate.Click += new System.EventHandler(this.button_Go_Translate_Click);
            // 
            // groupBox_Translator_Syntax_Check
            // 
            this.groupBox_Translator_Syntax_Check.Controls.Add(this.checkBox_Translate_IDA);
            this.groupBox_Translator_Syntax_Check.Controls.Add(this.checkBox_Translate_C);
            this.groupBox_Translator_Syntax_Check.Location = new System.Drawing.Point(6, 157);
            this.groupBox_Translator_Syntax_Check.Name = "groupBox_Translator_Syntax_Check";
            this.groupBox_Translator_Syntax_Check.Size = new System.Drawing.Size(60, 84);
            this.groupBox_Translator_Syntax_Check.TabIndex = 29;
            this.groupBox_Translator_Syntax_Check.TabStop = false;
            this.groupBox_Translator_Syntax_Check.Text = "语法";
            // 
            // checkBox_Translate_IDA
            // 
            this.checkBox_Translate_IDA.AutoSize = true;
            this.checkBox_Translate_IDA.Location = new System.Drawing.Point(6, 39);
            this.checkBox_Translate_IDA.Name = "checkBox_Translate_IDA";
            this.checkBox_Translate_IDA.Size = new System.Drawing.Size(42, 16);
            this.checkBox_Translate_IDA.TabIndex = 33;
            this.checkBox_Translate_IDA.Text = "IDA";
            this.checkBox_Translate_IDA.UseVisualStyleBackColor = true;
            this.checkBox_Translate_IDA.CheckedChanged += new System.EventHandler(this.checkBox_Translate_CheckedChanged);
            // 
            // checkBox_Translate_C
            // 
            this.checkBox_Translate_C.AutoSize = true;
            this.checkBox_Translate_C.Checked = true;
            this.checkBox_Translate_C.CheckState = System.Windows.Forms.CheckState.Checked;
            this.checkBox_Translate_C.Location = new System.Drawing.Point(6, 18);
            this.checkBox_Translate_C.Name = "checkBox_Translate_C";
            this.checkBox_Translate_C.Size = new System.Drawing.Size(30, 16);
            this.checkBox_Translate_C.TabIndex = 31;
            this.checkBox_Translate_C.Text = "C";
            this.checkBox_Translate_C.UseVisualStyleBackColor = true;
            this.checkBox_Translate_C.CheckedChanged += new System.EventHandler(this.checkBox_Translate_CheckedChanged);
            // 
            // button_SymbolPath_Translate
            // 
            this.button_SymbolPath_Translate.Location = new System.Drawing.Point(6, 30);
            this.button_SymbolPath_Translate.Name = "button_SymbolPath_Translate";
            this.button_SymbolPath_Translate.Size = new System.Drawing.Size(100, 20);
            this.button_SymbolPath_Translate.TabIndex = 22;
            this.button_SymbolPath_Translate.Text = "符号路径";
            this.button_SymbolPath_Translate.UseVisualStyleBackColor = true;
            this.button_SymbolPath_Translate.Click += new System.EventHandler(this.button_SymbolPath_Click);
            // 
            // button_Stop_Translate
            // 
            this.button_Stop_Translate.BackColor = System.Drawing.Color.Transparent;
            this.button_Stop_Translate.ForeColor = System.Drawing.Color.Red;
            this.button_Stop_Translate.Location = new System.Drawing.Point(451, 212);
            this.button_Stop_Translate.Name = "button_Stop_Translate";
            this.button_Stop_Translate.Size = new System.Drawing.Size(68, 25);
            this.button_Stop_Translate.TabIndex = 17;
            this.button_Stop_Translate.Text = "停止";
            this.button_Stop_Translate.UseVisualStyleBackColor = false;
            this.button_Stop_Translate.Click += new System.EventHandler(this.button_Stop_Translate_Click);
            // 
            // button_Pause_Translate
            // 
            this.button_Pause_Translate.Location = new System.Drawing.Point(316, 212);
            this.button_Pause_Translate.Name = "button_Pause_Translate";
            this.button_Pause_Translate.Size = new System.Drawing.Size(68, 25);
            this.button_Pause_Translate.TabIndex = 18;
            this.button_Pause_Translate.Text = "暂停";
            this.button_Pause_Translate.UseVisualStyleBackColor = true;
            this.button_Pause_Translate.Click += new System.EventHandler(this.button_Pause_Translate_Click);
            // 
            // textBox_Directory_Translate
            // 
            this.textBox_Directory_Translate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.textBox_Directory_Translate.Location = new System.Drawing.Point(112, 6);
            this.textBox_Directory_Translate.Name = "textBox_Directory_Translate";
            this.textBox_Directory_Translate.Size = new System.Drawing.Size(562, 21);
            this.textBox_Directory_Translate.TabIndex = 21;
            // 
            // textBox_Server_Translate
            // 
            this.textBox_Server_Translate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.textBox_Server_Translate.Location = new System.Drawing.Point(112, 56);
            this.textBox_Server_Translate.Name = "textBox_Server_Translate";
            this.textBox_Server_Translate.Size = new System.Drawing.Size(562, 21);
            this.textBox_Server_Translate.TabIndex = 25;
            // 
            // textBox_Path_Translate
            // 
            this.textBox_Path_Translate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.textBox_Path_Translate.Location = new System.Drawing.Point(112, 81);
            this.textBox_Path_Translate.Name = "textBox_Path_Translate";
            this.textBox_Path_Translate.Size = new System.Drawing.Size(562, 21);
            this.textBox_Path_Translate.TabIndex = 6;
            // 
            // textBox_SymbolPath_Translate
            // 
            this.textBox_SymbolPath_Translate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.textBox_SymbolPath_Translate.Location = new System.Drawing.Point(112, 31);
            this.textBox_SymbolPath_Translate.Name = "textBox_SymbolPath_Translate";
            this.textBox_SymbolPath_Translate.Size = new System.Drawing.Size(562, 21);
            this.textBox_SymbolPath_Translate.TabIndex = 23;
            // 
            // button_Path_Translate
            // 
            this.button_Path_Translate.Location = new System.Drawing.Point(6, 80);
            this.button_Path_Translate.Name = "button_Path_Translate";
            this.button_Path_Translate.Size = new System.Drawing.Size(100, 20);
            this.button_Path_Translate.TabIndex = 9;
            this.button_Path_Translate.Text = "输出目录";
            this.button_Path_Translate.UseVisualStyleBackColor = true;
            this.button_Path_Translate.Click += new System.EventHandler(this.button_Translate_Path_Click);
            // 
            // button_Server_Translate
            // 
            this.button_Server_Translate.ContextMenuStrip = this.contextMenuStrip_Server;
            this.button_Server_Translate.Location = new System.Drawing.Point(6, 55);
            this.button_Server_Translate.Name = "button_Server_Translate";
            this.button_Server_Translate.Size = new System.Drawing.Size(100, 20);
            this.button_Server_Translate.TabIndex = 26;
            this.button_Server_Translate.Text = "符号服务器";
            this.button_Server_Translate.UseVisualStyleBackColor = true;
            this.button_Server_Translate.Click += new System.EventHandler(this.button_Server_Click);
            // 
            // button_File_Translate
            // 
            this.button_File_Translate.Location = new System.Drawing.Point(54, 6);
            this.button_File_Translate.Name = "button_File_Translate";
            this.button_File_Translate.Size = new System.Drawing.Size(52, 20);
            this.button_File_Translate.TabIndex = 7;
            this.button_File_Translate.Text = "文件";
            this.button_File_Translate.UseVisualStyleBackColor = true;
            this.button_File_Translate.Click += new System.EventHandler(this.button_File_Translate_Click);
            // 
            // button_Directory_Translate
            // 
            this.button_Directory_Translate.Location = new System.Drawing.Point(6, 6);
            this.button_Directory_Translate.Name = "button_Directory_Translate";
            this.button_Directory_Translate.Size = new System.Drawing.Size(48, 20);
            this.button_Directory_Translate.TabIndex = 7;
            this.button_Directory_Translate.Text = "目录";
            this.button_Directory_Translate.UseVisualStyleBackColor = true;
            this.button_Directory_Translate.Click += new System.EventHandler(this.button_Directory_Click);
            // 
            // folderBrowserDialog
            // 
            this.folderBrowserDialog.RootFolder = System.Environment.SpecialFolder.MyComputer;
            // 
            // menuStrip1
            // 
            this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.variableToolStripMenuItem,
            this.findToolStripMenuItem,
            this.helpToolStripMenuItem});
            this.menuStrip1.Location = new System.Drawing.Point(0, 0);
            this.menuStrip1.Name = "menuStrip1";
            this.menuStrip1.Size = new System.Drawing.Size(865, 25);
            this.menuStrip1.TabIndex = 20;
            this.menuStrip1.Text = "menuStrip_Top";
            // 
            // variableToolStripMenuItem
            // 
            this.variableToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.ntSYMBOLPATHToolStripMenuItem,
            this.takeDefaultMicrosoftServerToolStripMenuItem,
            this.toolStripSeparator1,
            this.exitToolStripMenuItem});
            this.variableToolStripMenuItem.Name = "variableToolStripMenuItem";
            this.variableToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
            this.variableToolStripMenuItem.Text = "选项";
            // 
            // ntSYMBOLPATHToolStripMenuItem
            // 
            this.ntSYMBOLPATHToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.useToolStripMenuItem,
            this.defineToolStripMenuItem});
            this.ntSYMBOLPATHToolStripMenuItem.Name = "ntSYMBOLPATHToolStripMenuItem";
            this.ntSYMBOLPATHToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
            this.ntSYMBOLPATHToolStripMenuItem.Text = "_NT_SYMBOL_PATH";
            // 
            // useToolStripMenuItem
            // 
            this.useToolStripMenuItem.Name = "useToolStripMenuItem";
            this.useToolStripMenuItem.Size = new System.Drawing.Size(113, 22);
            this.useToolStripMenuItem.Text = "Use";
            this.useToolStripMenuItem.Click += new System.EventHandler(this.useToolStripMenuItem_Click);
            // 
            // defineToolStripMenuItem
            // 
            this.defineToolStripMenuItem.Name = "defineToolStripMenuItem";
            this.defineToolStripMenuItem.Size = new System.Drawing.Size(113, 22);
            this.defineToolStripMenuItem.Text = "Define";
            this.defineToolStripMenuItem.Click += new System.EventHandler(this.defineToolStripMenuItem_Click);
            // 
            // takeDefaultMicrosoftServerToolStripMenuItem
            // 
            this.takeDefaultMicrosoftServerToolStripMenuItem.Name = "takeDefaultMicrosoftServerToolStripMenuItem";
            this.takeDefaultMicrosoftServerToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
            this.takeDefaultMicrosoftServerToolStripMenuItem.Text = "默认微软符号服务器";
            this.takeDefaultMicrosoftServerToolStripMenuItem.Click += new System.EventHandler(this.takeDefaultMicrosoftServerToolStripMenuItem_Click);
            // 
            // toolStripSeparator1
            // 
            this.toolStripSeparator1.Name = "toolStripSeparator1";
            this.toolStripSeparator1.Size = new System.Drawing.Size(186, 6);
            // 
            // exitToolStripMenuItem
            // 
            this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
            this.exitToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
            this.exitToolStripMenuItem.Text = "退出";
            this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
            // 
            // findToolStripMenuItem
            // 
            this.findToolStripMenuItem.Name = "findToolStripMenuItem";
            this.findToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
            this.findToolStripMenuItem.Text = "查找";
            this.findToolStripMenuItem.Click += new System.EventHandler(this.findToolStripMenuItem_Click);
            // 
            // helpToolStripMenuItem
            // 
            this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.aboutToolStripMenuItem});
            this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
            this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
            this.helpToolStripMenuItem.Text = "帮助";
            // 
            // aboutToolStripMenuItem
            // 
            this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
            this.aboutToolStripMenuItem.Size = new System.Drawing.Size(100, 22);
            this.aboutToolStripMenuItem.Text = "关于";
            this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
            // 
            // statusStrip
            // 
            this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.toolStripStatusLabel2,
            this.toolStripProgressBar1});
            this.statusStrip.Location = new System.Drawing.Point(0, 701);
            this.statusStrip.Name = "statusStrip";
            this.statusStrip.Size = new System.Drawing.Size(865, 22);
            this.statusStrip.TabIndex = 1;
            // 
            // toolStripStatusLabel2
            // 
            this.toolStripStatusLabel2.Name = "toolStripStatusLabel2";
            this.toolStripStatusLabel2.Size = new System.Drawing.Size(0, 17);
            // 
            // toolStripProgressBar1
            // 
            this.toolStripProgressBar1.Name = "toolStripProgressBar1";
            this.toolStripProgressBar1.Size = new System.Drawing.Size(100, 16);
            // 
            // InterGraph
            // 
            this.AllowDrop = true;
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(865, 723);
            this.Controls.Add(this.statusStrip);
            this.Controls.Add(this.menuStrip1);
            this.Controls.Add(this.tabControl_SymbolsViewer);
            this.DoubleBuffered = true;
            this.MainMenuStrip = this.menuStrip1;
            this.MinimumSize = new System.Drawing.Size(557, 472);
            this.Name = "InterGraph";
            this.Text = "调试符号查看器";
            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.InterGraph_FormClosing);
            this.Load += new System.EventHandler(this.InterGraph_Load);
            this.DragDrop += new System.Windows.Forms.DragEventHandler(this.InterGraph_DragDrop);
            this.DragEnter += new System.Windows.Forms.DragEventHandler(this.InterGraph_DragEnter);
            this.Resize += new System.EventHandler(this.InterGraph_Resize);
            this.tabControl_SymbolsViewer.ResumeLayout(false);
            this.tabPage_Viewer.ResumeLayout(false);
            this.tabPage_Viewer.PerformLayout();
            this.splitContainer1_SymbolsViewer.Panel1.ResumeLayout(false);
            this.splitContainer1_SymbolsViewer.Panel1.PerformLayout();
            this.splitContainer1_SymbolsViewer.Panel2.ResumeLayout(false);
            this.splitContainer1_SymbolsViewer.ResumeLayout(false);
            this.panel_nav_buttons.ResumeLayout(false);
            this.tabControl_Info_Fomat.ResumeLayout(false);
            this.tabPage_Format_View.ResumeLayout(false);
            this.panel1.ResumeLayout(false);
            this.groupBox1.ResumeLayout(false);
            this.groupBox1.PerformLayout();
            this.groupBox_Viewer_Syntax_Check.ResumeLayout(false);
            this.groupBox_Viewer_Syntax_Check.PerformLayout();
            this.contextMenuStrip_Server.ResumeLayout(false);
            this.tabPage_Translator.ResumeLayout(false);
            this.tabPage_Translator.PerformLayout();
            this.groupBox2.ResumeLayout(false);
            this.groupBox2.PerformLayout();
            this.groupBox_Translator_Options.ResumeLayout(false);
            this.groupBox_Translator_Options.PerformLayout();
            this.groupBox_Translator_Syntax_Check.ResumeLayout(false);
            this.groupBox_Translator_Syntax_Check.PerformLayout();
            this.menuStrip1.ResumeLayout(false);
            this.menuStrip1.PerformLayout();
            this.statusStrip.ResumeLayout(false);
            this.statusStrip.PerformLayout();
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        public InterGraph()
        {
            this.InitializeComponent();
            this.SuspendLayout();
            this.dialog_box_find = new DialogBoxFind();
            this.tree_modules = new ArbreModules((TreeNode)null, (Control)this.panel_treeview);
            this.table_info = new TableInfo((Control)this.tabPage_Info);
            this.struct_format_view = new StructFormatView((Control)this.panel_format_view);
            this.statusStrip.Dispose();
            this.barre_info = new BarreInfo();
            this.Controls.Add((Control)this.barre_info);
            InterGraph.translator_action_state = InterGraph.StateTranslatorAction.OFF;
            InterGraph.critical_object = new object();
            InterGraph.event_object = new EventWaitHandle(false, EventResetMode.ManualReset);
            InterGraph.thread_pause = (Thread)null;
            InterGraph.thread_translation = (Thread)null;
            InterGraph.thread_load_symbol_viewer = (Thread)null;
            this.ResumeLayout(false);
            this.PerformLayout();
        }

        public bool Is_Fixed_Pointer_Size()
        {
            CheckBox fixedPointerSize = this.checkBox_fixed_pointer_size;
            return fixedPointerSize.Enabled & fixedPointerSize.Checked;
        }

        public string GetSuffixForStrucName()
        {
            string str = this.textBox_format_view_suffix.Text.Trim();
            return !string.IsNullOrEmpty(str) ? str : (string)null;
        }

        public string GetTranslatSuffixForStrucName()
        {
            string str = this.textBox_translate_suffix.Text.Trim();
            return !string.IsNullOrEmpty(str) ? str : (string)null;
        }

        public bool Is_Translate_Fixed_Pointer_Size()
        {
            CheckBox fixedPointerSize = this.checkBox_translate_fixed_pointer_size;
            return fixedPointerSize.Enabled & fixedPointerSize.Checked;
        }

        public bool Is_C_View()
        {
            return this.radioButton_View_C.Checked;
        }

        public bool Is_IDA_View()
        {
            return this.radioButton_View_IDA.Checked;
        }

        public bool Is_Download_Symbols_Only_Translate()
        {
            return this.checkBox_Download_Symbols_Only.Checked;
        }

        public bool Is_C_Translate()
        {
            return this.checkBox_Translate_C.Checked;
        }

        public bool Is_IDA_Translate()
        {
            return this.checkBox_Translate_IDA.Checked;
        }

        public void EnableNavigationButtons(bool button_before, bool button_after)
        {
            if (Program.Fenetre.button_nav_before.FindForm().InvokeRequired)
            {
                Program.Fenetre.button_nav_before.FindForm().Invoke((Delegate)new InterGraph.f_bool_x2(this.EnableNavigationButtons), (object)button_before, (object)button_after);
            }
            else
            {
                this.button_nav_before.Enabled = button_before;
                this.button_nav_after.Enabled = button_after;
            }
        }

        private bool Verif_Param_User()
        {
            TabPage selectedTab = this.tabControl_SymbolsViewer.SelectedTab;
            if (selectedTab == this.tabPage_Viewer)
            {
                string path1 = this.textBox_Module_View.Text.Trim();
                this.textBox_Module_View.Text = path1;
                if (!File.Exists(path1))
                {
                    int num = (int)MessageBox.Show("Path module is invalid.", "Error !", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                    return false;
                }
                string path2 = this.textBox_SymbolPath_View.Text.Trim();
                this.textBox_SymbolPath_View.Text = path2;
                if (!Directory.Exists(path2))
                {
                    int num = (int)MessageBox.Show("Symbol Path directory " + path2 + " is invalid.", "Error !", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                    return false;
                }
                string str = this.textBox_Server_View.Text.Trim();
                this.textBox_Server_View.Text = str;
                if (str.Length == 0)
                {
                    int num = (int)MessageBox.Show("Server isn't defined.", "Error !", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                    return false;
                }
            }
            else if (selectedTab == this.tabPage_Translator)
            {
                string path1 = this.textBox_Directory_Translate.Text.Trim();
                this.textBox_Directory_Translate.Text = path1;
                if (!Directory.Exists(path1) && !File.Exists(path1))
                {
                    int num = (int)MessageBox.Show("Module directory is invalid.", "Error !", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                    return false;
                }
                string path2 = this.textBox_SymbolPath_Translate.Text.Trim();
                this.textBox_SymbolPath_Translate.Text = path2;
                if (!Directory.Exists(path2))
                {
                    int num = (int)MessageBox.Show("SymbolPath directory " + path2 + " is invalid.", "Error !", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                    return false;
                }
                string str = this.textBox_Server_Translate.Text.Trim();
                this.textBox_Server_Translate.Text = str;
                if (str.Length == 0)
                {
                    int num = (int)MessageBox.Show("Server isn't defined.", "Error !", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                    return false;
                }
                string path3 = this.textBox_Path_Translate.Text.Trim();
                this.textBox_Path_Translate.Text = path3;
                if (!Directory.Exists(path3))
                {
                    int num = (int)MessageBox.Show("TranslatePath directory " + path3 + " is invalid.", "Error !", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                    return false;
                }
            }
            return true;
        }

        private void button_File_Click(object sender, EventArgs e)
        {
            if (!this.IsPossibleAction())
                return;
            this.openFileDialog.FileName = "";
            this.openFileDialog.Filter = ".exe .dll .sys .pdb|*.exe;*.dll;*.sys;*.pdb|All Files|*.*";
            this.openFileDialog.CheckFileExists = true;
            if (this.openFileDialog.ShowDialog() != DialogResult.OK)
                return;
            this.textBox_Module_View.Text = this.openFileDialog.FileName;
        }

        private void button_Directory_Click(object sender, EventArgs e)
        {
            if (!this.IsPossibleAction() || this.folderBrowserDialog.ShowDialog() != DialogResult.OK)
                return;
            this.textBox_Directory_Translate.Text = this.folderBrowserDialog.SelectedPath;
        }

        private void button_Translate_Path_Click(object sender, EventArgs e)
        {
            if (!this.IsPossibleAction())
                return;
            this.folderBrowserDialog.SelectedPath = "";
            if (this.folderBrowserDialog.ShowDialog() != DialogResult.OK)
                return;
            this.textBox_Path_Translate.Text = this.folderBrowserDialog.SelectedPath;
        }

        private void microsoftServerToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.takeDefaultMicrosoftServerToolStripMenuItem_Click(sender, e);
        }

        private bool IsPossibleAction()
        {
            if (InterGraph.thread_load_symbol_viewer != null)
            {
                int num = (int)MessageBox.Show("正在执行任务中...", "不能重复执行 !", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                return false;
            }
            if (InterGraph.thread_translation == null)
                return true;
            int num1 = (int)MessageBox.Show("正在生成数据...", "不能重复执行 !", MessageBoxButtons.OK, MessageBoxIcon.Hand);
            return false;
        }

        private void button_Get_Symbols_Click(object sender, EventArgs e)
        {
            if (!this.IsPossibleAction() || !this.Verif_Param_User())
                return;
            string definedNtSymbolPath = this.Create_Defined_NT_SYMBOL_PATH();
            Program.dbg_service.SymSetSearchPath(definedNtSymbolPath);
            InterGraph.thread_load_symbol_viewer = new Thread(new ParameterizedThreadStart(InterGraph.Thread_OpenModule));
            InterGraph.thread_load_symbol_viewer.Start((object)this.textBox_Module_View.Text);
        }

        private void button_Go_Translate_Click(object sender, EventArgs e)
        {
            if (!this.IsPossibleAction() || !this.Verif_Param_User() || !InterGraph.StartActionIfStop())
                return;
            string definedNtSymbolPath = this.Create_Defined_NT_SYMBOL_PATH();
            Program.dbg_service.SymSetSearchPath(definedNtSymbolPath);
            InterGraph.thread_translation = new Thread(new ParameterizedThreadStart(InterGraph.Thread_TranslateModules));
            string[] strArray = new string[3]
            {
        this.textBox_Directory_Translate.Text,
        this.textBox_Path_Translate.Text,
        this.textBox_Files_To_Be_Found_Translate.Text
            };
            InterGraph.thread_translation.Start((object)strArray);
        }

        private void takeDefaultMicrosoftServerToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!this.IsPossibleAction())
                return;
            string str = "http://msdl.microsoft.com/download/symbols";
            TabPage selectedTab = this.tabControl_SymbolsViewer.SelectedTab;
            if (selectedTab == this.tabPage_Viewer)
            {
                this.textBox_Server_View.Text = str;
                if (this.textBox_Server_Translate.Text.Trim().Length != 0)
                    return;
                this.textBox_Server_Translate.Text = str;
            }
            else
            {
                if (selectedTab != this.tabPage_Translator)
                    return;
                this.textBox_Server_Translate.Text = str;
                if (this.textBox_Server_View.Text.Trim().Length != 0)
                    return;
                this.textBox_Server_View.Text = str;
            }
        }

        private void useToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!this.IsPossibleAction())
                return;
            TabPage selectedTab = this.tabControl_SymbolsViewer.SelectedTab;
            string environmentVariable = Environment.GetEnvironmentVariable("_NT_SYMBOL_PATH");
            if (environmentVariable == null)
            {
                int num1 = (int)MessageBox.Show("The _NT_SYMBOL_PATH system variable isn't defined !", "Error !", MessageBoxButtons.OK, MessageBoxIcon.Hand);
            }
            else
            {
                bool flag = false;
                string str1 = environmentVariable.Trim();
                string lowerInvariant = str1.ToLowerInvariant();
                int startIndex1 = lowerInvariant.IndexOf("srv*");
                int startIndex2 = lowerInvariant.LastIndexOf("*");
                if (startIndex1 >= 0 && startIndex2 >= 0)
                {
                    startIndex1 += 4;
                    ++startIndex2;
                    flag = true;
                }
                if (!flag || startIndex2 <= startIndex1)
                {
                    int num2 = (int)MessageBox.Show("The _NT_SYMBOL_PATH system variable does not seem valid : " + str1, "Error !", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                }
                else
                {
                    string str2 = str1.Substring(startIndex2);
                    string str3 = str1.Substring(startIndex1, startIndex2 - startIndex1 - 1);
                    if (selectedTab == this.tabPage_Viewer)
                    {
                        this.textBox_Server_View.Text = str2;
                        this.textBox_SymbolPath_View.Text = str3;
                        if (this.textBox_Server_Translate.Text.Trim().Length == 0)
                            this.textBox_Server_Translate.Text = str2;
                        if (this.textBox_SymbolPath_Translate.Text.Trim().Length != 0)
                            return;
                        this.textBox_SymbolPath_Translate.Text = str3;
                    }
                    else
                    {
                        if (selectedTab != this.tabPage_Translator)
                            return;
                        this.textBox_Server_Translate.Text = str2;
                        this.textBox_SymbolPath_Translate.Text = str3;
                        if (this.textBox_Server_View.Text.Trim().Length == 0)
                            this.textBox_Server_View.Text = str2;
                        if (this.textBox_SymbolPath_View.Text.Trim().Length != 0)
                            return;
                        this.textBox_SymbolPath_View.Text = str3;
                    }
                }
            }
        }

        private string Create_Defined_NT_SYMBOL_PATH()
        {
            TabPage selectedTab = this.tabControl_SymbolsViewer.SelectedTab;
            StringBuilder stringBuilder = new StringBuilder("srv*");
            if (selectedTab == this.tabPage_Viewer)
            {
                stringBuilder.Append(this.textBox_SymbolPath_View.Text);
                stringBuilder.Append("*");
                stringBuilder.Append(this.textBox_Server_View.Text);
            }
            else if (selectedTab == this.tabPage_Translator)
            {
                stringBuilder.Append(this.textBox_SymbolPath_Translate.Text);
                stringBuilder.Append("*");
                stringBuilder.Append(this.textBox_Server_Translate.Text);
            }
            return stringBuilder.ToString();
        }

        private void defineToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TabPage selectedTab = this.tabControl_SymbolsViewer.SelectedTab;
            string environmentVariable = Environment.GetEnvironmentVariable("_NT_SYMBOL_PATH");
            string definedNtSymbolPath = this.Create_Defined_NT_SYMBOL_PATH();
            if (definedNtSymbolPath.StartsWith("srv**"))
            {
                int num1 = (int)MessageBox.Show("Symbol Path directory is invalid.", "Error !", MessageBoxButtons.OK, MessageBoxIcon.Hand);
            }
            else if (definedNtSymbolPath.EndsWith("*"))
            {
                int num2 = (int)MessageBox.Show("Server isn't defined.", "Error !", MessageBoxButtons.OK, MessageBoxIcon.Hand);
            }
            else
            {
                if (environmentVariable != null)
                {
                    if (MessageBox.Show("Do you really want to modify the system variable\n_NT_SYMBOL_PATH = " + environmentVariable + "\n with \n_NT_SYMBOL_PATH = " + definedNtSymbolPath.ToString() + " ?", "Question.", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                        return;
                }
                Environment.SetEnvironmentVariable("_NT_SYMBOL_PATH", definedNtSymbolPath.ToString());
                int num3 = (int)MessageBox.Show("The _NT_SYMBOL_PATH variable system has just been modified.", "Information.", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
        }

        private void radioButton_View_CheckedChanged(object sender, EventArgs e)
        {
            this.checkBox_fixed_pointer_size.Enabled = this.Is_C_View();
            if (!((RadioButton)sender).Checked)
                return;
            Interaction.Refresh_All_View_Of_Selected_Node();
        }

        private void button_SymbolPath_Click(object sender, EventArgs e)
        {
            if (!this.IsPossibleAction())
                return;
            this.folderBrowserDialog.SelectedPath = "";
            if (this.folderBrowserDialog.ShowDialog() != DialogResult.OK)
                return;
            TabPage selectedTab = this.tabControl_SymbolsViewer.SelectedTab;
            string selectedPath = this.folderBrowserDialog.SelectedPath;
            if (selectedTab == this.tabPage_Viewer)
            {
                this.textBox_SymbolPath_View.Text = selectedPath;
                if (this.textBox_SymbolPath_Translate.Text.Trim().Length != 0)
                    return;
                this.textBox_SymbolPath_Translate.Text = selectedPath;
            }
            else
            {
                if (selectedTab != this.tabPage_Translator)
                    return;
                this.textBox_SymbolPath_Translate.Text = selectedPath;
                if (this.textBox_SymbolPath_View.Text.Trim().Length != 0)
                    return;
                this.textBox_SymbolPath_View.Text = selectedPath;
            }
        }

        private void button_Server_Click(object sender, EventArgs e)
        {
            if (!this.IsPossibleAction())
                return;
            this.button_Server_View.ContextMenuStrip.Show(Control.MousePosition);
        }

        private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int num = (int)new DialogBoxHelpAbout().ShowDialog();
        }

        private void button_Pause_Translate_Click(object sender, EventArgs e)
        {
            if (InterGraph.IsWaitActionToStopOrStop())
                return;
            if (InterGraph.IsPauseAction())
                InterGraph.StartAction();
            else
                InterGraph.PauseAction();
        }

        private void button_Stop_Translate_Click(object sender, EventArgs e)
        {
            InterGraph.WaitActionToStop();
        }

        private void checkBox_Download_Symbols_Only_CheckedChanged(object sender, EventArgs e)
        {
            bool flag = !this.Is_Download_Symbols_Only_Translate();
            this.checkBox_Translate_C.Enabled = flag;
            this.checkBox_Translate_IDA.Enabled = flag;
            this.checkBox_translate_fixed_pointer_size.Enabled = flag;
            this.textBox_translate_suffix.Enabled = flag;
            this.label_translator_suffix.Enabled = flag;
        }

        private void InterGraph_FormClosing(object sender, FormClosingEventArgs e)
        {
            SaveInitFile();//保存配置文件
            if (InterGraph.thread_translation != null)
            {
                InterGraph.StopAction();
                InterGraph.thread_translation.Join(5000);
            }
            if (InterGraph.thread_load_symbol_viewer == null)
                return;
            InterGraph.thread_translation.Interrupt();
            InterGraph.thread_translation.Join(5000);
        }

        private void checkBox_Translate_CheckedChanged(object sender, EventArgs e)
        {
            this.checkBox_translate_fixed_pointer_size.Enabled = this.Is_C_Translate();
            if (this.Is_C_Translate() || this.Is_IDA_Translate())
                return;
            ((CheckBox)sender).Checked = true;
        }

        private void button_File_Translate_Click(object sender, EventArgs e)
        {
            if (!this.IsPossibleAction())
                return;
            this.openFileDialog.FileName = "";
            this.openFileDialog.Filter = ".exe .dll .sys .pdb|*.exe;*.dll;*.sys;*.pdb|All Files|*.*";
            this.openFileDialog.CheckFileExists = true;
            if (this.openFileDialog.ShowDialog() != DialogResult.OK)
                return;
            this.textBox_Directory_Translate.Text = this.openFileDialog.FileName;
        }

        private void checkBox_fixed_pointer_size_CheckedChanged(object sender, EventArgs e)
        {
            Interaction.Refresh_All_View_Of_Selected_Node();
        }

        private void button_nav_Click(object sender, EventArgs e)
        {
            if (sender == this.button_nav_after)
            {
                this.tree_modules.TreeNavigate.SelectedAfter();
            }
            else
            {
                if (sender != this.button_nav_before)
                    return;
                this.tree_modules.TreeNavigate.SelectedBefore();
            }
        }

        private void findToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.dialog_box_find.Show();
        }

        private void textBox_suffix_TextChanged(object sender, EventArgs e)
        {
            TextBox textBox = (TextBox)sender;
            string text = textBox.Text;
            int selectionStart = textBox.SelectionStart;
            textBox.Text = Regex.Replace(textBox.Text, "[^\\w\\$@-_?%]", "");
            if (text != textBox.Text)
                --selectionStart;
            textBox.SelectionStart = selectionStart;
            if (textBox != this.textBox_format_view_suffix)
                return;
            Interaction.Refresh_All_View_Of_Selected_Node();
        }

        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void InterGraph_Resize(object sender, EventArgs e)
        {
            this.tabControl_SymbolsViewer.Refresh();
        }

        private void toolStripStatusLabel_Link_Click(object sender, EventArgs e)
        {
            new Process()
            {
                StartInfo = {
          FileName = ((ToolStripItem) sender).Text
        }
            }.Start();
        }

        public void Init_ProgressBar(int mini, int maxi, int value)
        {
            if (Program.Fenetre.progressBar_Translator.FindForm().InvokeRequired)
            {
                Program.Fenetre.progressBar_Translator.FindForm().Invoke((Delegate)new InterGraph.f_int_x3(this.Init_ProgressBar), (object)mini, (object)maxi, (object)value);
            }
            else
            {
                Program.Fenetre.progressBar_Translator.Minimum = mini;
                Program.Fenetre.progressBar_Translator.Maximum = maxi;
                Program.Fenetre.progressBar_Translator.Value = value;
            }
        }

        public void SetValue_Progress_Translator(int value)
        {
            try
            {
                if (Program.Fenetre.progressBar_Translator.FindForm().InvokeRequired)
                    Program.Fenetre.progressBar_Translator.FindForm().Invoke((Delegate)new InterGraph.f_int(this.SetValue_Progress_Translator), (object)value);
                else
                    Program.Fenetre.progressBar_Translator.Value = value;
            }
            catch (Exception ex)
            {
            }
        }

        public void IncValue_Progress_Translator()
        {
            try
            {
                if (Program.Fenetre.progressBar_Translator.FindForm().InvokeRequired)
                    Program.Fenetre.progressBar_Translator.FindForm().Invoke((Delegate)new InterGraph.f_void(this.IncValue_Progress_Translator), (object[])null);
                else
                    ++Program.Fenetre.progressBar_Translator.Value;
            }
            catch (Exception ex)
            {
            }
        }

        public void AddLine_Translator_Consol(string s)
        {
            if (Program.Fenetre.textBox_Consol.FindForm().InvokeRequired)
                Program.Fenetre.textBox_Consol.FindForm().Invoke((Delegate)new InterGraph.f_string(this.AddLine_Translator_Consol), (object)s);
            else
                Program.Fenetre.textBox_Consol.AppendText(s + "\r\n");
        }

        public void Clear_Translator_Consol()
        {
            if (Program.Fenetre.textBox_Consol.FindForm().InvokeRequired)
                Program.Fenetre.textBox_Consol.FindForm().Invoke((Delegate)new InterGraph.f_void(this.Clear_Translator_Consol), (object[])null);
            else
                Program.Fenetre.textBox_Consol.Clear();
        }

        public void SetTextPauseButton(string s)
        {
            if (Program.Fenetre.button_Pause_Translate.FindForm().InvokeRequired)
                Program.Fenetre.button_Pause_Translate.FindForm().Invoke((Delegate)new InterGraph.f_string(this.SetTextPauseButton), (object)s);
            else
                Program.Fenetre.button_Pause_Translate.Text = s;
        }

        public void SetTextFileTranslate(string s)
        {
            if (Program.Fenetre.textBox_Directory_Translate.FindForm().InvokeRequired)
                Program.Fenetre.textBox_Directory_Translate.FindForm().Invoke((Delegate)new InterGraph.f_string(this.SetTextFileTranslate), (object)s);
            else
                Program.Fenetre.textBox_Directory_Translate.Text = s;
        }

        public void DisplayTranslatorPanel()
        {
            if (Program.Fenetre.tabControl_SymbolsViewer.FindForm().InvokeRequired)
                Program.Fenetre.tabControl_SymbolsViewer.FindForm().Invoke((Delegate)new InterGraph.f_void(this.DisplayTranslatorPanel), (object[])null);
            else
                Program.Fenetre.tabControl_SymbolsViewer.SelectedTab = Program.Fenetre.tabPage_Translator;
        }

        public void DisplayViewerPanel()
        {
            if (Program.Fenetre.tabControl_SymbolsViewer.FindForm().InvokeRequired)
                Program.Fenetre.tabControl_SymbolsViewer.FindForm().Invoke((Delegate)new InterGraph.f_void(this.DisplayTranslatorPanel), (object[])null);
            else
                Program.Fenetre.tabControl_SymbolsViewer.SelectedTab = Program.Fenetre.tabPage_Viewer;
        }

        private static unsafe bool GetNumberOfModuleCallback(string FilePath, IntPtr CallerData)
        {
            uint* pointer = (uint*)CallerData.ToPointer();
            int num = (int)*pointer + 1;
            *pointer = (uint)num;
            return false;
        }

        private static bool EnumDirTreeCallback(string FilePath, IntPtr CallerData)
        {
            string stringAuto = Marshal.PtrToStringAuto(CallerData);
            if (InterGraph.IsWaitActionToStopOrStop() || !InterGraph.WaitActionEvent())
                return true;
            Interaction.AddLine_Translator_Consol("[*] 下载 " + FilePath + " 文件符号");
            Interaction.Print("下载... " + FilePath);
            Interaction.StartWait();
            ModuleSymbols _mod = new ModuleSymbols(FilePath, false);
            Interaction.ResetPrint();
            Interaction.StopWait();
            if (!_mod.IsInitOk)
                Interaction.AddLine_Translator_Consol("[-] 没有符号");
            else if (!_mod.IsTypeInfo())
                Interaction.AddLine_Translator_Consol("[-] 没有类型信息.");
            else if (!_mod.IsAllSymbolGood)
                Interaction.AddLine_Translator_Consol("[-] 未知符号类型.");
            else if (!Program.Fenetre.checkBox_Download_Symbols_Only.Checked)
            {
                StringBuilder stringBuilder1 = new StringBuilder();
                stringBuilder1.Append(stringAuto);
                if (!stringBuilder1.ToString().EndsWith("\\"))
                    stringBuilder1.Append("\\");
                stringBuilder1.Append(new FileInfo(FilePath).Name + "_");
                stringBuilder1.Append(_mod.GetPdbSig70());
                ParserSymbol.Info info = new ParserSymbol.Info(_mod, Program.Fenetre.Is_Translate_Fixed_Pointer_Size(), Program.Fenetre.GetTranslatSuffixForStrucName());
                if (Program.Fenetre.checkBox_Translate_C.Checked)
                {
                    Interaction.AddLine_Translator_Consol("[+] 转换成C语言...");
                    Interaction.Print("转换成C语言数据中。...");
                    Interaction.StartWait();
                    StringBuilder stringBuilder2 = new StringBuilder();
                    stringBuilder2.AppendLine("// #################################################################################");
                    stringBuilder2.AppendLine("// 生成工具" + Program.Application_Name);
                    stringBuilder2.AppendLine("// " + Program.Application_Url);
                    stringBuilder2.AppendLine("// 编码方式 " + Program.Applcation_Author);
                    stringBuilder2.AppendLine("// #################################################################################");
                    stringBuilder2.AppendLine("// 平台         : " + (_mod.SizeOfPointer * 8UL).ToString("D") + "bit");
                    stringBuilder2.AppendLine("// 文件名称     : " + _mod.ModuleImageHelp.ImageName);
                    stringBuilder2.AppendLine("// 调试符号位置 : " + _mod.ModuleImageHelp.LoadedPdbName);
                    stringBuilder2.AppendLine("");
                    stringBuilder2.AppendLine("#ifdef __cplusplus");
                    stringBuilder2.AppendLine("extern \"C\" {");
                    stringBuilder2.AppendLine("#endif");
                    stringBuilder2.AppendLine("");
                    stringBuilder2.Append(ParserSymbol.Format_C.Get_Define_All());
                    stringBuilder2.Append(ParserSymbol.Format_C.Get_TypeDef_All());
                    stringBuilder2.AppendLine("//------------------------------------------------------------------------");
                    stringBuilder2.AppendLine("//------------------------------------------------------------------------");
                    stringBuilder2.AppendLine("// 枚举类型声明");
                    stringBuilder2.AppendLine("");
                    foreach (SymEnum sym_enum in _mod.list_symbol.GetSortedArrayOfSymEnumByUnifiedName())
                        stringBuilder2.Append(ParserSymbol.Format_C.EnumFormat.GetEnumFormat(info, sym_enum));
                    stringBuilder2.AppendLine("//------------------------------------------------------------------------");
                    stringBuilder2.AppendLine("//------------------------------------------------------------------------");
                    stringBuilder2.AppendLine("// 关于结构类型的信息");
                    stringBuilder2.AppendLine("");
                    foreach (SymUdt symUdt in _mod.list_symbol.GetSortedArrayOfSymUdtByUnifiedName())
                    {
                        if (symUdt.UniqueName == null)
                        {
                            if (symUdt.UdtKind == 0U)
                                stringBuilder2.Append("typedef struct ");
                            if (symUdt.UdtKind == 2U)
                                stringBuilder2.Append("typedef union ");
                            if (symUdt.UdtKind == 1U)
                                stringBuilder2.Append("typedef class ");
                            stringBuilder2.AppendLine(symUdt.SymUnifiedName + info.suffix_for_struc_name + ";");
                        }
                    }
                    stringBuilder2.AppendLine("");
                    stringBuilder2.AppendLine("//------------------------------------------------------------------------");
                    stringBuilder2.AppendLine("//------------------------------------------------------------------------");
                    stringBuilder2.AppendLine("// 函数类型声明");
                    stringBuilder2.AppendLine("");
                    stringBuilder2.Append(ParserSymbol.Format_C.Get_Function_All(info));
                    stringBuilder2.AppendLine("//------------------------------------------------------------------------");
                    stringBuilder2.AppendLine("//------------------------------------------------------------------------");
                    stringBuilder2.AppendLine("// 结构类型声明");
                    stringBuilder2.AppendLine("");
                    stringBuilder2.Append(ParserSymbol.Format_C.Get_Structure_All(info));
                    stringBuilder2.AppendLine("#ifdef __cplusplus");
                    stringBuilder2.AppendLine("}");
                    stringBuilder2.AppendLine("#endif");
                    stringBuilder2.AppendLine("");
                    StreamWriter text = new FileInfo(stringBuilder1.ToString() + ".h").CreateText();
                    text.Write(stringBuilder2.ToString());
                    text.Close();
                    Interaction.ResetPrint();
                    Interaction.StopWait();
                }
                if (Program.Fenetre.checkBox_Translate_IDA.Checked)
                {
                    Interaction.AddLine_Translator_Consol("[+] 生成IDA脚本...");
                    Interaction.Print("生成IDA脚本中...");
                    Interaction.StartWait();
                    StringBuilder stringBuilder2 = new StringBuilder();
                    stringBuilder2.AppendLine("// #################################################################################");
                    stringBuilder2.AppendLine("// 生成工具" + Program.Application_Name);
                    stringBuilder2.AppendLine("// " + Program.Application_Url);
                    stringBuilder2.AppendLine("// 编码信息 " + Program.Applcation_Author);
                    stringBuilder2.AppendLine("// #################################################################################");
                    stringBuilder2.AppendLine("// 平台         : " + (_mod.SizeOfPointer * 8UL).ToString("D") + "bit");
                    stringBuilder2.AppendLine("// 文件名称     : " + _mod.ModuleImageHelp.ImageName);
                    stringBuilder2.AppendLine("// 调试符号位置 : " + _mod.ModuleImageHelp.LoadedPdbName);
                    stringBuilder2.AppendLine("");
                    stringBuilder2.AppendLine("#define UNLOADED_FILE   1");
                    stringBuilder2.AppendLine("");
                    stringBuilder2.AppendLine("#include <idc.idc>");
                    stringBuilder2.AppendLine("");
                    stringBuilder2.AppendLine("static main(void) {");
                    stringBuilder2.AppendLine("    Enums();                // enumerations");
                    stringBuilder2.AppendLine("    Structures();           // structure types");
                    stringBuilder2.AppendLine("}");
                    stringBuilder2.AppendLine("");
                    stringBuilder2.AppendLine("//------------------------------------------------------------------------");
                    stringBuilder2.AppendLine("//------------------------------------------------------------------------");
                    stringBuilder2.AppendLine("// 有关枚举类型的信息");
                    stringBuilder2.AppendLine("");
                    stringBuilder2.AppendLine("static Enums(void)");
                    stringBuilder2.AppendLine("{");
                    stringBuilder2.AppendLine("    auto id;                // enum id");
                    stringBuilder2.AppendLine("");
                    foreach (SymEnum sym_enum in _mod.list_symbol.GetSortedArrayOfSymEnumByUnifiedName())
                    {
                        stringBuilder2.AppendLine("//------------------------------------------------------------------------");
                        stringBuilder2.Append(ParserSymbol.Format_IDA.EnumFormat.GetEnumFormat(info, sym_enum));
                    }
                    stringBuilder2.AppendLine("}");
                    stringBuilder2.AppendLine("//------------------------------------------------------------------------");
                    stringBuilder2.AppendLine("//------------------------------------------------------------------------");
                    stringBuilder2.AppendLine("// 有关结构类型的信息");
                    stringBuilder2.AppendLine("");
                    stringBuilder2.AppendLine("static Structures(void)");
                    stringBuilder2.AppendLine("{");
                    stringBuilder2.AppendLine("    auto id;                // structure id");
                    stringBuilder2.AppendLine("    auto id_temp;           // temp structure id");
                    stringBuilder2.AppendLine("");
                    stringBuilder2.Append(ParserSymbol.Format_IDA.Get_Structure_All(info));
                    stringBuilder2.AppendLine("}");
                    StreamWriter text = new FileInfo(stringBuilder1.ToString() + ".idc").CreateText();
                    text.Write(stringBuilder2.ToString());
                    text.Close();
                    Interaction.ResetPrint();
                    Interaction.StopWait();
                }
            }
            _mod.Dispose();
            Interaction.IncValue_Progress_Translator();
            return InterGraph.IsWaitActionToStopOrStop() || !InterGraph.WaitActionEvent();
        }

        private static unsafe void Thread_TranslateModules(object obj)
        {
            string str1 = ((string[])obj)[0];
            string str2 = ((string[])obj)[1];
            string str3 = ((string[])obj)[2];
            if (File.Exists(str1))
            {
                Interaction.Init_Progress_Translator(0, 1, 0);
                Interaction.Clear_Translator_Consol();
                Interaction.Print("翻译模块的符号...");
                Interaction.StartWait();
                fixed (char* chPtr = str2)
                    InterGraph.EnumDirTreeCallback(str1, (IntPtr)(void*)chPtr);
                Interaction.AddLine_Translator_Consol("");
                Interaction.AddLine_Translator_Consol("处理完成!");
                Interaction.ResetPrint();
                Interaction.StopWait();
                Interaction.SetValue_Progress_Translator(0);
            }
            else if (Directory.Exists(str1))
            {
                bool flag1 = true;
                int maxi = 0;
                if (str3 == null || str3.Length == 0)
                    str3 = "*";
                string[] strArray = str3.Split(';');
                for (int index = 0; index < strArray.Length; ++index)
                    strArray[index] = strArray[index].Trim();
                Interaction.Clear_Translator_Consol();
                Interaction.Print("搜索模块总数...");
                Interaction.StartWait();
                foreach (string InputPathName in strArray)
                    flag1 = Program.dbg_service.EnumDirTree(str1, InputPathName, (StringBuilder)null, new EnumDirTreeProc(InterGraph.GetNumberOfModuleCallback), (IntPtr)(void*)&maxi);
                Interaction.AddLine_Translator_Consol("模块数 : " + maxi.ToString("D"));
                Interaction.StopWait();
                Interaction.Init_Progress_Translator(0, maxi, 0);
                Interaction.Print("翻译模块的符号...");
                Interaction.StartWait();
                fixed (char* chPtr = str2)
                {
                    foreach (string InputPathName in strArray)
                    {
                        Interaction.AddLine_Translator_Consol("搜索 : \"" + InputPathName + "\"");
                        Interaction.AddLine_Translator_Consol("");
                        bool flag2 = Program.dbg_service.EnumDirTree(str1, InputPathName, (StringBuilder)null, new EnumDirTreeProc(InterGraph.EnumDirTreeCallback), (IntPtr)(void*)chPtr);
                        Interaction.AddLine_Translator_Consol("");
                        if (!flag2)
                        {
                            if (Marshal.GetLastWin32Error() == 3)
                            {
                                Interaction.AddLine_Translator_Consol("目录无效 : " + str1);
                                Interaction.AddLine_Translator_Consol("");
                            }
                            else if (Marshal.GetLastWin32Error() != 18 && Marshal.GetLastWin32Error() != 0)
                            {
                                Interaction.AddLine_Translator_Consol("Problem in EnumDirTree() function. Error : " + (object)Marshal.GetLastWin32Error());
                                Interaction.AddLine_Translator_Consol("");
                            }
                        }
                    }
                }
                Interaction.AddLine_Translator_Consol("处理完成!");
                Interaction.ResetPrint();
                Interaction.StopWait();
                Interaction.SetValue_Progress_Translator(0);
            }
            else
            {
                Interaction.AddLine_Translator_Consol("");
                Interaction.AddLine_Translator_Consol("目录无效 : " + str1);
                Interaction.Print("目录无效 : " + str1);
            }
            InterGraph.thread_translation = (Thread)null;
            InterGraph.StopAction();
        }

        private static void Thread_Pause(object obj)
        {
            try
            {
                while (true)
                {
                    Interaction.SetTextPauseButton("Continue");
                    Thread.Sleep(400);
                    Interaction.SetTextPauseButton("");
                    Thread.Sleep(400);
                }
            }
            catch (Exception ex)
            {
            }
            Interaction.SetTextPauseButton("Pause");
        }

        private static void KillThreadPause()
        {
            bool flag = false;
            try
            {
                flag = Monitor.TryEnter(InterGraph.critical_object);
                if (InterGraph.thread_pause != null)
                    InterGraph.thread_pause.Interrupt();
                InterGraph.thread_pause = (Thread)null;
                Interaction.SetTextPauseButton("Pause");
                InterGraph.event_object.Set();
            }
            finally
            {
                if (flag)
                    Monitor.Exit(InterGraph.critical_object);
            }
        }

        public static bool WaitActionEvent()
        {
            return InterGraph.event_object.WaitOne(-1, true);
        }

        public static bool IsWaitActionToStopOrStop()
        {
            bool flag = false;
            lock (InterGraph.critical_object)
            {
                if (InterGraph.translator_action_state != InterGraph.StateTranslatorAction.WAIT_OFF)
                {
                    if (InterGraph.translator_action_state != InterGraph.StateTranslatorAction.OFF)
                        goto label_5;
                }
                flag = true;
            }
        label_5:
            return flag;
        }

        public static bool IsStopAction()
        {
            bool flag = false;
            lock (InterGraph.critical_object)
            {
                if (InterGraph.translator_action_state == InterGraph.StateTranslatorAction.OFF)
                    flag = true;
            }
            return flag;
        }

        public static bool IsPauseAction()
        {
            bool flag = false;
            lock (InterGraph.critical_object)
            {
                if (InterGraph.translator_action_state == InterGraph.StateTranslatorAction.PAUSE)
                    flag = true;
            }
            return flag;
        }

        public static bool StartActionIfStop()
        {
            bool flag = false;
            lock (InterGraph.critical_object)
            {
                if (InterGraph.translator_action_state == InterGraph.StateTranslatorAction.OFF)
                {
                    InterGraph.translator_action_state = InterGraph.StateTranslatorAction.ON;
                    InterGraph.KillThreadPause();
                    flag = true;
                }
            }
            return flag;
        }

        public static bool PauseAction()
        {
            bool flag = false;
            lock (InterGraph.critical_object)
            {
                if (InterGraph.translator_action_state == InterGraph.StateTranslatorAction.ON)
                {
                    InterGraph.translator_action_state = InterGraph.StateTranslatorAction.PAUSE;
                    InterGraph.KillThreadPause();
                    InterGraph.event_object.Reset();
                    InterGraph.thread_pause = new Thread(new ParameterizedThreadStart(InterGraph.Thread_Pause));
                    InterGraph.thread_pause.Start();
                    flag = true;
                }
            }
            return flag;
        }

        public static bool WaitActionToStop()
        {
            bool flag = false;
            lock (InterGraph.critical_object)
            {
                if (InterGraph.translator_action_state != InterGraph.StateTranslatorAction.PAUSE)
                {
                    if (InterGraph.translator_action_state != InterGraph.StateTranslatorAction.ON)
                        goto label_5;
                }
                InterGraph.translator_action_state = InterGraph.StateTranslatorAction.WAIT_OFF;
                InterGraph.KillThreadPause();
                flag = true;
            }
        label_5:
            return flag;
        }

        public static bool StopAction()
        {
            lock (InterGraph.critical_object)
            {
                InterGraph.translator_action_state = InterGraph.StateTranslatorAction.OFF;
                InterGraph.KillThreadPause();
                return true;
            }
        }

        public static bool StartAction()
        {
            bool flag = false;
            lock (InterGraph.critical_object)
            {
                if (InterGraph.translator_action_state != InterGraph.StateTranslatorAction.OFF)
                {
                    if (InterGraph.translator_action_state != InterGraph.StateTranslatorAction.PAUSE)
                        goto label_5;
                }
                InterGraph.translator_action_state = InterGraph.StateTranslatorAction.ON;
                InterGraph.KillThreadPause();
                flag = true;
            }
        label_5:
            return flag;
        }

        public enum StateTranslatorAction
        {
            OFF,
            ON,
            PAUSE,
            WAIT_OFF,
        }

        private delegate void f_bool_x2(bool a, bool b);

        private delegate void f_void();

        private delegate void f_string(string s);

        private delegate void f_int(int a);

        private delegate void f_int_x3(int a, int b, int c);

        /**********************************************************************************************//**
         * 查询路径结尾 是不是需要的文件
         *
         * @param   path  Full pathname of the file.
         *
         * @returns True if symbol file, false if not.
         **************************************************************************************************/

        private bool IsSymbolFile(string path)
        {
            if (path.EndsWith(".exe") || path.EndsWith("dll") || path.EndsWith("sys") || path.EndsWith("pdb"))
                return true;
            return false;
        }

        private void InterGraph_DragDrop(object sender, DragEventArgs e)
        {
            string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString(); //获得路径
            if (IsSymbolFile(path))
            {
                var index = tabControl_SymbolsViewer.SelectedIndex;
                textBox_Module_View.Text = path;
                textBox_Directory_Translate.Text = path;
            }
        }

        private void InterGraph_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
                e.Effect = DragDropEffects.All; //重要代码：表明是所有类型的数据，比如文件路径
            else
                e.Effect = DragDropEffects.None;
        }

        /** 保存配置文件 */

        private void SaveInitFile()
        {
            var ini = new IniFileHelper();
            var file = textBox_Module_View.Text;
            if (file != null && IsSymbolFile(file))
                ini.WriteIniString("路径配置", "文件", file);
            file = null;
            file = textBox_SymbolPath_View.Text;
            if (file != null)
                ini.WriteIniString("路径配置", "符号路径", file);
            file = null;
            file = textBox_Server_View.Text;
            if (file != null)
                ini.WriteIniString("路径配置", "服务器", file);
            file = null;
            file = textBox_Path_Translate.Text;
            if (file != null)
                ini.WriteIniString("路径配置", "输出目录", file);
        }

        private void InterGraph_Load(object sender, EventArgs e)
        {
            var ini = new IniFileHelper();

            textBox_Directory_Translate.Text = textBox_Module_View.Text = ini.GetIniString("路径配置", "文件");
            textBox_SymbolPath_Translate.Text = textBox_SymbolPath_View.Text = ini.GetIniString("路径配置", "符号路径", "c:\\Symbols");
            textBox_Server_Translate.Text = textBox_Server_View.Text = ini.GetIniString("路径配置", "服务器", "http://msdl.microsoft.com/download/symbols");
            textBox_Path_Translate.Text = ini.GetIniString("路径配置", "输出目录", "d:\\");
        }
    }
}